package com.sservice.model.dao;

import com.sservice.commonBusiness.vo.CommentVo;
import com.sservice.model.entity.Info;
import com.sservice.model.vo.InfoVo;

import java.util.List;

public interface IInfoDao {
    int deleteByPrimaryKey(Integer id);

    int insert(Info record);

    int insertSelective(Info record);

    Info selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Info record);

    int updateByPrimaryKeyWithBLOBs(Info record);

    int updateByPrimaryKey(Info record);

    /**
     * type1=5 团队作品
     * type1=2 导师作品
     * type1=0 资讯
     * type1=1 竞拍故事
     *
     * @param user
     * @return
     */
    List<Info> queryByPage(InfoVo user);

    /**
     * 查询
     *
     * @param record
     * @return
     */
    List<InfoVo> queryPlainByPage(InfoVo record);

    List<InfoVo> queryfdPlainByPage(InfoVo record);

    /**
     * 查询包含类型的数据列表，type1（数据类型）、cType(分类类型必须传递)
     *
     * @param record
     * @return
     */
    List<InfoVo> queryWithCategoryByPage(InfoVo record);

    /**
     * 统计包含类型的数据列表，type1（数据类型）、cType(分类类型必须传递)
     *
     * @param record
     * @return
     */
    int countWithCategoryByPage(InfoVo record);

    int countPlainByPage(InfoVo record);

    /**
     * 查询用户处理记录
     *
     * @param record
     * @return
     */
    List<CommentVo> queryUserRecordByPage(InfoVo record);

    List<InfoVo> queryTplByPage(InfoVo record);

    int countTplByPage(InfoVo record);

    /**
     * 统计用户处理记录
     *
     * @param record
     * @return
     */
    int countUserRecordByPage(InfoVo record);


    /**
     * 统计
     *
     * @param record
     * @return
     */
    int querydrCount(InfoVo record);


    /**
     * 符合统计条件的总数统计
     *
     * @param user
     * @return
     */
    int queryCount(InfoVo user);
}